/*
 * aux.c
 *
 *  Created on: 21/04/2011
 *      Author: joao
 */

#include "aux.h"

#include "GUI/backend-publico.h"

void checaBloco(int linha, int coluna, int *numeros){
	int num;
	int i,j;

	if(linha<=3 && coluna<=3)
		for(i=1; i<=3; i++)
			for(j=1; j<=3; j++){
				num=pegaNumero(i,j);
				if(num!=0)
					numeros[num-1]=1;
			}
	if(linha<=3 && coluna>=4 && coluna<=6)
		for(i=1; i<=3; i++)
			for(j=4; j<=6; j++){
				num=pegaNumero(i,j);
				if(num!=0)
					numeros[num-1]=1;
			}
	if(linha<=3 && coluna>=7)
		for(i=1; i<=3; i++)
			for(j=7; j<=9; j++){
				num=pegaNumero(i,j);
				if(num!=0)
					numeros[num-1]=1;
			}
	if(linha>=4 && linha<=6 && coluna<=3)
		for(i=4; i<=6; i++)
			for(j=1; j<=3; j++){
				num=pegaNumero(i,j);
				if(num!=0)
					numeros[num-1]=1;
			}
	if(linha>=4 && linha<=6 && coluna>=4 && coluna<=6)
		for(i=4; i<=6; i++)
			for(j=4; j<=6; j++){
				num=pegaNumero(i,j);
				if(num!=0)
					numeros[num-1]=1;
			}
	if(linha>=4 && linha<=6 && coluna>=7)
		for(i=4; i<=6; i++)
			for(j=7; j<=9; j++){
				num=pegaNumero(i,j);
				if(num!=0)
					numeros[num-1]=1;
			}
	if(linha>=7 && coluna<=3)
		for(i=7; i<=9; i++)
			for(j=1; j<=3; j++){
				num=pegaNumero(i,j);
				if(num!=0)
					numeros[num-1]=1;
			}
	if(linha>=7 && coluna>=4 && coluna<=6)
		for(i=7; i<=9; i++)
			for(j=4; j<=6; j++){
				num=pegaNumero(i,j);
				if(num!=0)
					numeros[num-1]=1;
			}
	if(linha>=7 && coluna>=7)
		for(i=7; i<=9; i++)
			for(j=7; j<=9; j++){
				num=pegaNumero(i,j);
				if(num!=0)
					numeros[num-1]=1;
			}
}

void printStatus(){
	int x,y;

	printf("sudoku=[");
	for(x=1;x<=9;x++){
		for(y=1;y<=9;y++){
			printf("%d", pegaNumero(x,y));
		}
		printf("-");
	}
	printf("]\n");
}

